package com.moli.iov.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.moli.iov.base.model.dto.req.SoftVersionReqDto;
import com.moli.iov.base.model.dto.req.TboxUpgradeFileReqDto;
import com.moli.iov.base.model.dto.req.UpgradeFileQueryDto;
import com.moli.iov.base.model.dto.res.TboxUpgradeFileResDto;
import com.moli.iov.base.model.po.TboxUpgradeFile;

import com.moli.iov.model.dto.req.PageExtend;
import com.moli.iov.rest.RestResponse;
import java.util.List;
import java.util.Map;


/**
 * @author whl
 */
public interface ITboxUpgradeFileService extends IService<TboxUpgradeFile> {

    /**
     * 查询所有的升级文件信息
     * @return
     */
    List<TboxUpgradeFile> queryAll();

    /**
     * 添加
     * @param tboxUpgradeFile
     * @return
     */
    RestResponse saveUpgradeFile(TboxUpgradeFile tboxUpgradeFile);

    /**
     * 修改
     *
     * @param byId
     * @return
     */
    RestResponse updateUpgradeFile(TboxUpgradeFile byId);

    /**
     * 删除
     * @param byId
     * @return
     */
    RestResponse deleteUpgradeFile(TboxUpgradeFile byId);

    /**
     * list
     * @param reqDto
     * @return
     */
    PageExtend<TboxUpgradeFileResDto> listTboxUpgradeFile(UpgradeFileQueryDto reqDto);

    /**
     * 根据 企业+车型+车机型号（包括硬件版本） 看是否存在
     * @param reqDto
     * @return
     */
    TboxUpgradeFile getUpgradeFile(TboxUpgradeFileReqDto reqDto);

    List<TboxUpgradeFileResDto> listSoftVersion(SoftVersionReqDto reqDto);
}
